home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 9 / Night Owl CD-ROM (NOPV9) (Night Owl Publisher) (1993).ISO / 015a / sutl.zip / SECTORXL.BAS < prev    next >
BASIC Source File  |  1993-03-01  |  3KB  |  75 lines

  1. 100 ' SECTORXL.BAS -- PAUL SOMERSON
  2. 110 ' TRANSLATES DOS/BIOS SECTOR NUMBERING SCHEMES BACK AND FORTH
  3. 120 ' (C) 1988 ZIFF COMMUNICATIONS CO.
  4. 130 '
  5. 140 ' --- SETUP ---
  6. 150 '
  7. 160 DIM D$(7):DEF FNST$(Y)=RIGHT$(STR$(Y),LEN(STR$(Y))-SGN(Y)+(Y=0))
  8. 170 BSEC$="BIOS SECTOR NUMBER"
  9. 180 BTRA$="BIOS TRACK NUMBER"
  10. 190 BSID$="BIOS SIDE NUMBER"
  11. 200 D$(1)="1-SIDED, 160K"
  12. 210 D$(2)="1-SIDED, 180K"
  13. 220 D$(3)="2-SIDED, 320K"
  14. 230 D$(4)="2-SIDED, 360K"
  15. 240 D$(5)="2-SIDED, 1.2M"
  16. 250 D$(6)="2-SIDED, 740K"
  17. 260 D$(7)="2-SIDED, 1.44M"
  18. 270 S$=STRING$(43,205)+CHR$(13)
  19. 280 ' --- GET DISK TYPE ---
  20. 290 ' 
  21. 300 COLOR 15:CLS:PRINT TAB(3);"ENTER TYPE OF DISKETTE (1-7):":PRINT
  22. 310 FOR A=1 TO 7:PRINT TAB(6);A;"-- ";D$(A):NEXT
  23. 320 I$=INKEY$:IF I$="" THEN 320 ELSE J=INSTR("1234567",I$) 
  24. 330 ON J GOTO 350,360,370,380,390,400,410
  25. 340 GOTO 320
  26. 350 S=0:SS=8:MT=39:MS=319:GOTO 450
  27. 360 S=0:SS=9:MT=39:MS=359:GOTO 450
  28. 370 S=1:SS=8:MT=39:MS=639:GOTO 450
  29. 380 S=1:SS=9:MT=39:MS=719:GOTO 450
  30. 390 S=1:SS=15:MT=79:MS=2399:GOTO 450
  31. 400 S=1:SS=9:MT=79:MS=1439:GOTO 450
  32. 410 S=1:SS=18:MT=79:MS=2879
  33. 420 '
  34. 430 ' --- MAIN MENU ---
  35. 440 '
  36. 450 CLS
  37. 460 PRINT CHR$(13);S$;TAB(3);"1. START WITH DOS NUMBERS"
  38. 470 PRINT TAB(3);"2. START WITH BIOS NUMBERS"
  39. 480 PRINT TAB(3);"3. CHANGE DISK TYPE FROM ";D$(J)
  40. 490 PRINT TAB(3);"4. CLEAR SCREEN"
  41. 500 PRINT TAB(3);"5. QUIT":PRINT S$
  42. 510 I$=INKEY$:IF I$="" THEN 510 
  43. 520 IF I$="5" THEN END ELSE IF I$="3" THEN 300 ELSE IF I$="4" THEN 450
  44. 530 I=INSTR("BB2DD1",I$)
  45. 540 IF I=0 THEN 510 ELSE IF I<4 THEN 700
  46. 550 '
  47. 560 ' --- DOS2BIOS ---
  48. 570 '
  49. 580 PRINT "ENTER DOS SECTOR NUMBER (0-";FNST$(MS);:LINE INPUT;"): ",DS$
  50. 590 IF DS$="" THEN 450
  51. 600 DS=VAL(DS$):IF DS>MS THEN BEEP:PRINT:GOTO 580
  52. 610 IF DS=0 THEN PRINT "0" ELSE PRINT
  53. 620 PRINT S$;TAB(3);"(FOR ";D$(J);" DISKETTE):"
  54. 630 PRINT TAB(3);BSEC$;": ",1+DS MOD SS
  55. 640 PRINT TAB(3);BTRA$;": ",DS\(SS*(S+1))
  56. 650 PRINT TAB(3);BSID$;": ",(DS\SS) MOD (S+1)
  57. 660 GOTO 460
  58. 670 '
  59. 680 ' --- BIOS2DOS ---
  60. 690 '
  61. 700 PRINT "ENTER ";BSEC$;" (1-";FNST$(SS);:LINE INPUT;"): ",SE$
  62. 710 IF SE$="" THEN 450
  63. 720 SE=VAL(SE$):IF SE<1 OR SE>SS THEN BEEP:PRINT:GOTO 700
  64. 730 IF SE=0 THEN PRINT "0" ELSE PRINT
  65. 740 PRINT "ENTER ";BTRA$;" (0-";FNST$(MT);:LINE INPUT;"): ",TR$
  66. 750 TR=VAL(TR$):IF TR>MT THEN BEEP:PRINT:GOTO 740
  67. 760 IF TR=0 THEN PRINT "0" ELSE PRINT
  68. 770 IF J<3 THEN SI=S:GOTO 810
  69. 780 PRINT "ENTER ";BSID$;" (0-1";:LINE INPUT;"): ",SI$
  70. 790 SI=VAL(SI$):IF SI>S THEN BEEP:PRINT:GOTO 780
  71. 800 IF SI=0 THEN PRINT "0" ELSE PRINT
  72. 810 PRINT S$;TAB(3);"(FOR ";D$(J);" DISKETTE):"
  73. 820 PRINT TAB(3);"DOS SECTOR";(SE-1)+SI*SS+TR*SS*(S+1)
  74. 830 GOTO 460
  75.